============================================================== Guild: wafer.space Community Channel: 📐 - Designing / 📝-project-template / Filler script After: 2025-09-30 11:59 p.m. Before: 2025-11-01 12:00 a.m. ============================================================== [2025-10-02 5:09 p.m.] h.tamas [2025-10-02 5:09 p.m.] h.tamas Oh, I wanted to give you some feedback regarding the filler script, as of a week ago. We tried to use the version at the time for generating fill on tinytapeout-gf-0p1, and we got some drc violations from the calibre deck. Since we don't have the deck ourselves (nor calibre for that matter) and didn't have a great feedback loop, we had to eventually back out from it and return to a more basic fill, but we have the drc report and you might make good use of it: [2025-10-02 5:09 p.m.] h.tamas {Attachments} 2025-10_media/ttgf0p1_v19.drc.tar-0CACB.gz [2025-10-02 5:09 p.m.] h.tamas The corresponding gds is `ttgf0p1_v19.fill.gds` from here: https://github.com/TinyTapeout/tinytapeout-gf-0p1/releases/tag/v19 [2025-10-02 5:09 p.m.] h.tamas And this is my copy of the version of the filler script we used: https://github.com/htfab/ttgf0p1-pdk-snapshot/tree/main/gf180mcuD/libs.tech/klayout/tech/drc/filler_generation [2025-10-02 5:18 p.m.] mole99 Thanks a lot Tamas! I'll definitely check it out. The filler script still needs some updates, only yesterday I implemented the stagger along the x and y axis. What basic fill did you resort to? [2025-10-02 5:34 p.m.] h.tamas I manually drew some [fill cells](https://github.com/TinyTapeout/tinytapeout-gf-0p1/blob/main/top/macros/fill/fill.gds) and then used klayout's Edit -> Utilities -> Fill Tool to generate a grid fill (setting the excluded layers as specified by the drc rules, and using 2um spacing around excluded areas). Note that we were close to the density and didn't need to add a lot of fill. Also we didn't generate fill for poly2 as it already had the right density and we were in "if it ain't broken, don't fix it" mode. {Reactions} 👍 [2025-10-02 6:11 p.m.] mole99 Getting the tapeout done is of course of highest priority! Matthias is currently working on some filler improvements for KLayout. Once these are ready, I'd like to convert the Ruby script to a DRC-only script :) {Reactions} 👍 [2025-10-08 6:52 a.m.] mole99 {Attachments} 2025-10_media/Bildschirmfoto_vom_2025-10-06_14-50-57-27FA6.png [2025-10-08 6:52 a.m.] mole99 It seems that a number of the DRC errors are caused by not taking euclidean distances into account. I'm currently implementing some of the dummy fill DRC rules to catch those issues, after which I will look into fixing them in the filler generation script. [2025-10-08 7:02 a.m.] mole99 I ignored the other DRC rules (DPF.12, DPF.13, DM.4_DM.6 and DM.5_DM.7) on purpose for now, as I would like to see if it is possible to waive them. Essentially, these rules prevent you from placing fill where there is active metal below or above it. For a very dense layout, this means that you can place almost no fill at all. See here: https://gf180mcu-pdk.readthedocs.io/en/latest/physical_verification/design_manual/drm_13_3.html For example, all the standard cells contain poly2, so I cannot place any M1 fill above it - which doesn't really make sense? I'm not sure if this is for manufacturability reasons or to prevent capacitive coupling. Let's see what GF will say. ============================================================== Exported 11 message(s) ==============================================================